package com.magina.project.entity;

/**
 * @ClassnName :com.magina.project.entity.SysLog
 * @Author： Magina.Hu
 * @Date： 2019/5/14
 * @Description：
 * @Version: V1.0
 * Copyright (c) 2019-2020 .All rights reserved.
 */

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;

import javax.persistence.Column;
import javax.persistence.Entity;
import java.time.LocalDateTime;

/**
 * <p>
 * 操作日志记录表
 * </p>
 * id.column,entity 注解 引用的是javax.persistence包下面的
 * @author Magina.Hu
 * @since 2019-04-22
 */
@Getter
@Setter
@Entity
@SQLDelete(sql = "update sys_log set deleted = 1 where id = ?")
@Where(clause = "deleted = 0")
public class SysLog extends BaseEntity {


    /**
     * 模块名称
     */
     @Column(name="MODULE_NAME")
    private String moduleName;

    /**
     * 方法名称
     */
     @Column(name="METHOD_NAME")
    private String methodName;

    /**
     * 类名称
     */
     @Column(name="CLASS_NAME")
    private String className;

    /**
     * 参数列表
     */
     @Column(name="ARGUMENTS")
    private String arguments;

    /**
     * 操作人账号
     */
     @Column(name="OPERATOR_ACCOUNT")
    private String operatorAccount;

    /**
     * 操作人名称
     */
     @Column(name="OPERATOR_NAME")
    private String operatorName;

    /**
     * 操作人时间
     */
     @Column(name="OPERATOR_DATE")
     @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime operatorDate;

    /**
     * 操作人所在组织编号
     */
     @Column(name="OPERATOR_ORG_CODE")
    private String operatorOrgCode;

    /**
     * 操作人所在组织名称
     */
     @Column(name="OPERATOR_ORG_NAME")
    private String operatorOrgName;

    /**
     * 操作人组织路径
     */
     @Column(name="OPERATOR_ORG_PATH")
    private String operatorOrgPath;

    /**
     * 操作人IP地址
     */
     @Column(name="IP_ADDRESS")
    private String ipAddress;

    /**
     * 操作人系统
     */
     @Column(name="OPERATOR_SYSTEM")
    private String operatorSystem;

    /**
     * 操作人浏览器
     */
     @Column(name="OPERATOR_BROWSER")
    private String operatorBrowser;

    /**
     * 操作描述
     */
     @Column(name="DESCRIPTION")
    private String description;

    /**
     * 异常信息
     */
     @Column(name="EXCEPTION")
    private String exception;

    /**
     * 操作日志类型（0-登录，1-操作）
     */
     @Column(name="OPERATION_LOG_TYPE")
    private String operationLogType;

    /**
     * 操作结果状态(0-正常,1-异常)
     */
     @Column(name="OPERATION_STATUS")
    private String operationStatus;



}
